package com.jic.member.service;

import java.lang.Long;
import java.util.List;

import com.jic.common.base.vo.RestResult;
import com.jic.member.entity.MememberGrade;
import com.jic.common.base.vo.PageResult;
import com.jic.member.request.QueryMemLevelListByIdsRequest;
import com.jic.member.response.MememberGradeForMarket;
import com.jic.member.request.MemberGradeRequest;
import com.jic.member.response.MemberGradeResponse;
import com.jic.member.response.MememberGradeResponse;

/**
* 会员等级表
* @author : 
* @email : 
* @since : 2020-04-03 02:09:28
* @version : v1.0.0
*/
public interface MememberGradeService {

   RestResult<Long> insert(MemberGradeRequest mememberGrade);

   RestResult<Long> delete(MemberGradeRequest mememberGrade);

    RestResult<Long> update(MemberGradeRequest mememberGrade);

    MememberGrade queryByPrimaryKey(Long id);

    List<MememberGrade> query(MememberGrade mememberGrade);

    RestResult<PageResult<MemberGradeResponse>> queryPage(MemberGradeRequest mememberGrade);
    /**
     * 根据条件查询会员等级配置表
     * @param request 入参
     * @Author tzc
     * @return 包含MemberGradeResponse的列表；
     * @Date 2020-7-1 01:13:25
     */
    RestResult<List<MememberGradeForMarket>> listMememberGradeByParam(MemberGradeRequest request);

    RestResult<PageResult<MemberGradeResponse>> queryStorePowerList(MemberGradeRequest request);

    RestResult<PageResult<MemberGradeResponse>> queryStoreGradePage(MemberGradeRequest request);

    RestResult<List<MememberGradeResponse>> queryMemLevelListByIds(QueryMemLevelListByIdsRequest request);
}